﻿using Basic.FormGatewaryModular.Model.Form;
using Basic.FormRemoteModel;
using Basic.FormRemoteModel.Form.Model;
using WeDonekRpc.Client;
using WeDonekRpc.HttpApiGateway.Model;

namespace Basic.FormGatewaryModular.Interface
{
    public interface IFormService
    {
        void SetLayoutType ( long id, FormLayoutType layoutType );
        FormOutline GetOutline ( long id, PyFormPageType pageType );
        void SyncPhyBody ( long id );
        StructureColumn GetStructure ( StructureGetArg arg );
        StructureColumn[] GetStructures ( StructureGetArgs arg );
        FormBody GetBody ( long id );
        long Add ( FormAdd datum );
        void Delete ( long id );
        bool Enable ( long id );
        FormDto Get ( long id );
        PagingResult<FormDto> Query ( PagingParam<FormQuery> query );
        bool Set ( long id, FormSet datum );
        void Stop ( long id );
        FormTable[] GetTable ( long formId );
        FormColumn[] GetColumns ( FormColGetArg arg );
    }
}